InstaUnlagged Version 1.2 Beta

A mod created by Paradox, G-Man And Haste
A little hystory: I met Paradox and Haste in Gamespy Arcade first I met Paradox and he had this mod he was working on, that did just about everything in the book.
We played and tested and tweaked it and Paradox or me disapeared for about 6 months.
Meanwhile I meet Haste and I'm helping test Unlagged mod as well as Alternate Fire.
Great times back then ;-). So I happen across Paradox in GSA again he still has his mod and I'm telling him he needs to be concise with his options make a "Game" of it
not just a smorgasborg of effects and tweaks.... It hits me that his Instagibish tweaks and Unlagged would be the thing... so there it goes .. first release about 3 or 4 days later.
ALA HAste most generous gift of the Unlagged code.

SO here we are about 3 versions later... with heavy Teamcode introduced CTF code and Tourney. You know how tourney servers never change maps.... you know why? Because the game
will not carry over the winners. well have fun cause InstaUnlagged does Rotate those maps :-) Remeber those guys always cheating the tourney with reconnect bug  not here
baby! You ever play TDM on blue and never hear the frags count? You will now!

The only thing you cant readily do in Instaunlagged is run a Listen Server... well you cant readily  but it can be done ;-)
Best way is to have a fast comp and start a dedicated server and start another instance of quake3 and join it.

But I found a couple bugs can I report them and will you fix them?
short answer maybe we are getting older and people change what they are into..... I will try to keep it going a bit longer... I would like to reach 1.5


There is one semi major bug if you run a pure server and have team arena installed upon first map restart the game will load missionpack folder the players will be booted for unpure client.
I believe if you remove missionpack folder you are fine.

I have done my best to scrap together server config files for each of the games... minus  our capturestrike mode that just doesnt seem to fit insta mode well.
but its there if you want to enable it.

Most popular CTF mode is Return the flag hair raising beer chasing fun :-)


config file is set for that by default.

This readme is in no way complete... I am sorry for that but we havent worked on this mod is a long time... things get forgotten.
I do believe I have gathered enough to keep the most avid fan happy.


Big Thanks out to Elite Mafia Railers heavy testing and great server support early on.


Also code 3 arena and Quake3world Forums, Heavy forum reaserch conjured up a few nice fixes.

Pappy and Jube @ planetquake.com   :-)


The Players are:     
   
| Aaron "Paradox" Stork   http://www.digitaldelay.net/InstaUnlagged    help@digitaldelay.net
| Neil "Haste" Toronto    http://www.planetquake.com/alternatefire     haste@planetquake.com
| Rich "G-Man" Defrese    http://www.planetquake.com/filterfactory     defcom5@cox.net




Without further ado I present the MOD



Haste's

UNLAGGED FEATURES
-----------------

1) Total server-side lag compensation for hitscan weapons (machinegun,
shotgun, lightning gun, railgun)
2) Compensation for Quake 3's built-in 50ms lag for every weapon (clients 
who opt out of full lag compensation get at least 50ms of lag correction, 
as in CPMA and OSP)
3) Correction (smoothing out movement) for players who "skip" because they 
have a bad outgoing connection
4) cl_timeNudge actually extrapolates - which means that when you use a 
negative value, other players still move smoothly



UNLAGGED SERVER VARIABLES
-------------------------

g_delagHitscan

The default is "1", and you probably shouldn't change it.  Setting it to 
"0" switches off feature #1 (outlined above), but you still get the rest.


g_smoothClients

g_smoothClients in Unlagged works a little differently.  Before, 
g_smoothClients would send a little extra information about every player 
entity over the wire, allowing clients to extrapolate 50ms of movement by 
setting cg_smoothClients to "1".  This would smooth out other players' 
movement if those other players had a bad connection.

With Unlagged, setting g_smoothClients to "1" causes the server to do skip 
correction itself, in a way that is compatible with the lag compensation.  
(cg_smoothClients, by the way, is now undefined.)  In fact, having this set 
helps remove one obstacle to players getting consistent hits: the target's 
possibly low framerate and/or sporadic outgoing connection.  (The other 
half of removing those barriers is the lag compensation itself.)  The 
amount of processing power required is minimal, so I suggest having this 
set to "1" always.


g_unlaggedVersion

This is a read-only variable set to whatever version of Unlagged the server 
is running.  It is sent with the server info so it can be read with handy 
stuff like Q3Plug.


g_lightningDamage

The default is "8", the lightning gun's normal damage.  *Some* people have 
complained that the lightning gun is too powerful with lag compensation 
enabled.  It's been my observation that this is generally due to the 
following three reasons:

1) People aren't used to being able to actually *use* the darn thing, so 
when they can, they tend to overdo it.
2) People aren't used to *dodging* it, since it doesn't get used very often 
in Internet play.
3) The lightning gun has always been the best weapon at medium range when 
playing at LAN latencies.  The only other weapon that stands a chance 
against it is the plasma gun, but, all things considered, it's weaker.

If, in the first while after having Unlagged installed it seems people are 
using it too much, you *may* want to try lowering the damage, at least to 
wean the players from it. :)  In my opinion, that sort of thing should only 
be used as a last resort.  After a while - as I've seen in Ultra Freeze Tag 
on many servers - people settle back into more normal weapon selection 
behavior.



UNLAGGED CLIENT VARIABLES
-------------------------

cg_delag

If this is set to "1" (the default), your lag with all instant-hit weapons 
will be compensated for.  You can also set it for individual weapons.  
These are the important values:

 1 - Everything
 2 - Shotgun
 4 - Machinegun
 8 - Lightning Gun
16 - Railgun

Add the values together.  For example, if you want lag compensation for 
just the lightning gun and the machinegun, you would set cg_delag to "12".


cg_cmdTimeNudge

Set this to the number of milliseconds you would like the server to "nudge" 
the time of your instant-hit attacks.  For example, if you feel that the 
server overcompensates for your ping, you might try setting it to 25.  That 
will effectively add 25ms of lag.


cg_projectileNudge

If you choose to use this feature, set this variable to your average ping 
on the server you're currently on.  That will advance the projectiles to 
the position they'll be in by the time your movement reaches the server, 
making them easier to dodge.

Of course, as with every other lag compensation technique, it comes with a 
small price: visual consistency.  Other players' projectiles will seem to 
be faster - though this isn't really a problem, since it'll reflect your 
actual window of useful action.  The projectiles will also seem to stick in 
parts of the map before they explode.

If you can deal with that, go for it: set it to your ping.


cl_timeNudge

In really technical terms, the client engine uses this setting to determine 
when to release snapshots to the client game.  If you set it negative, it 
releases them early.  If you set it positive, it releases them late.

In other words, negative values reduce lag, and positive values add lag.  
There's a down side to reducing lag, though: prediction error.  The client 
has less to work with, so it has to guess about a few things.  It's usually 
pretty close to reality when it does guess.  Another down side is that, if 
you're opting out of full lag compensation (cg_delag 0), the rail trail can 
look completely off.

The big change in Unlagged is that, if you set cl_timeNudge to a negative 
number, other players will still look like they're moving smoothly.  (In 
vanilla Quake 3 and every other mod for it that I know of, they look jerky 
- like they're moving at 20 FPS while everything around them is moving your 
client's framerate.)  A slightly smaller change is that the value is 
clamped between -50 and 50.  Anything outside that range has always been 
meaningless.

Personally, I'll be playing with cl_timeNudge at -50 because it helps with 
the projectile weapons at small expense.


cg_drawBBox, cg_debugDelag

These variables are cheat-protected, and for testing only.  Setting 
cg_drawBBox to "1" will cause the client game to draw players' bounding 
boxes around them.  (A bounding box is basically the hit zone.)  Setting 
cg_debugDelag to "1" will cause both the client and server to spew a bunch 
of debug information at you when you use the railgun.

I used these features to make sure the lag compensation works *exactly* 
right.  You can test them yourself by loading up a map with the "/devmap" 
command.


G-Mans Ultra Secret Server

Quake3.exe +set fs_basegame missionpack +set fs_game Instaunlagged + set dedicated 2 +exec instyTActf.cfg

 Client must must connect via commandline  Quake3.exe +set fs_basegame missionpack +connect 666.666.666.66:6666

downloads must be on for IU 1.2 for Unlagg's client side stuff